import axios from "axios"; //引入axios插件
import Nprogress from "nprogress";
import "nprogress/nprogress.css";
import {serverURL,getToken} from './tools'
const instance = axios.create({
  baseURL: serverURL, //请求基础地址，会拼接在每一个请求之前
  timeout: 5000,
});
/* 
axios请求拦截器
全局请求拦截，网络请求之前执行
*/
instance.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么
    Nprogress.start()//显示进度条
    config.headers.token=getToken();//此处token属性是服务器端给的名字，你以后上班了要根据你们公司服务器端改一下 
    return config;
  },
  function(error) {
   
    return Promise.reject(error);
  }
);
/* 
添加响应拦截器
网络请求结束执行
*/
instance.interceptors.response.use(
  function(response) {
    // 对响应数据做点什么
    Nprogress.done()//隐藏进度条
    return response.data;
  },
  function(error) {
    // 对响应错误做点什么
     // 对请求错误做些什么
     if(error.response?.status===401){
      //401需要跳转到登录页 
       window.location.href="/#/login"
    }
    Nprogress.done()
    return Promise.reject(error);
  }
);
export const get = (url, params) => instance.get(url, { params });
export const post = (url, data) => instance.post(url, data);
export const put= (url, data) => instance.put(url, data);
export const del = (url) => instance.delete(url);
